﻿Imports System.Data
Partial Class DireccionesPersonas
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Page.IsPostBack = False Then
            txtNroDocumento.Text = Session("Nro_documento").ToString
            ddlTipoDocumento.SelectedValue = Session("Id_tipo_documento").ToString
            CargarDataListTiposDocumento()
            CargarDataListTipoDirecciones()
            CargarDataListPaises()
            CargarDataListProvincias()
            cargarDataListLocalidades()
            If txtNroDocumento.Text <> "" Then
                CargarGrillaDireccionesPersonas()
            End If

        End If
    End Sub
    Sub CargarDataListTiposDocumento()
        Dim ds As New DataSet
        ds = TipoDocumentoDB.GetTiposDocumento
        With ddlTipoDocumento
            .DataSource = ds.Tables("TiposDocumentos")
            .DataValueField = "id_tipo_documento"
            .DataTextField = "tipo_documento"
            .DataBind()
        End With

    End Sub

    Sub CargarGrillaDireccionesPersonas()
        gvDireccionesPersonas.DataSource = PersonaDB.GetDireccionesPersona(ddlTipoDocumento.SelectedValue, txtNroDocumento.Text)
        gvDireccionesPersonas.DataBind()
    End Sub

    Sub CargarDataListTipoDirecciones()
        Dim ds As New DataSet
        ds = DireccionesDB.GetTipoDirecciones

        ddlTipoDirecciones.DataSource = ds.Tables("TipoDirecciones")
        ddlTipoDirecciones.DataValueField = "Id_tipo_direccion"
        ddlTipoDirecciones.DataTextField = "tipo_Direccion"
        ddlTipoDirecciones.DataBind()
    End Sub

    Sub CargarDataListPaises()
        Dim ds As New DataSet
        ds = PaisesDB.GetPaises

        ddlPaises.DataSource = ds.Tables("Paises")
        ddlPaises.DataValueField = "Id_pais"
        ddlPaises.DataTextField = "Pais"
        ddlPaises.DataBind()



    End Sub

    Protected Sub ddlPaises_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPaises.SelectedIndexChanged
        CargarDataListProvincias()
    End Sub

    Sub CargarDataListProvincias()
        Dim ds As New DataSet
        ds = ProvinciasDB.GetProvinciasDePais(ddlPaises.SelectedValue)
        With ddlProvincias
            .DataSource = ds.Tables("Provincias")
            .DataValueField = "id_provincia"
            .DataTextField = "Provincia"
            .DataBind()
        End With
    End Sub

    Sub cargarDataListLocalidades()
        Dim ds As New DataSet
        ds = LocalidadesDB.GetLocalidadesDeProvincia(ddlPaises.SelectedValue, ddlProvincias.SelectedValue)

        With ddlLocalidades
            .DataSource = ds.Tables("Localidades")
            .DataValueField = "id_localidad"
            .DataTextField = "Localidad"
            .DataBind()
        End With
    End Sub

    Protected Sub ddlProvincias_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlProvincias.SelectedIndexChanged
        cargarDataListLocalidades()
    End Sub

    Protected Sub btnAgregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAgregar.Click
        Try
            If btnNueva.Enabled = False Then 'es nuevo
                DireccionesDB.InsertarDireccionPersona(ddlTipoDocumento.SelectedValue, txtNroDocumento.Text, txtCalle.Text, txtBarrio.Text, ddlTipoDirecciones.SelectedValue, ddlLocalidades.SelectedValue)
            Else 'es actualizacion
                DireccionesDB.ActualizarDireccionPersona(gvDireccionesPersonas.SelectedDataKey.Values(0).ToString(), ddlTipoDirecciones.SelectedValue, txtNroDocumento.Text, txtCalle.Text, txtBarrio.Text, ddlTipoDirecciones.SelectedValue, ddlLocalidades.SelectedValue)
            End If
            CargarGrillaDireccionesPersonas()
            Limpiar()
        Catch ex As Exception
            Session("Error") = ex.Message.ToString()
            Session("Pagina") = "DireccionesPersonas.aspx"
            Server.Transfer("Errores.aspx")
        End Try
    End Sub

    Sub Limpiar()
        txtBarrio.Text = ""
        txtCalle.Text = ""
        CargarDataListPaises()
        CargarDataListProvincias()
        cargarDataListLocalidades()
        ddlLocalidades.SelectedIndex = -1
        ddlProvincias.SelectedIndex = -1
        ddlPaises.SelectedIndex = -1
        btnAgregar.Enabled = False
        btnNueva.Enabled = True
        gvDireccionesPersonas.SelectedIndex = -1
    End Sub

    Protected Sub btnVolver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnVolver.Click
        Session("Nro_documento") = txtNroDocumento.Text
        Session("id_tipo_documento") = ddlTipoDocumento.Text
        Session("PaginaOrigen") = "DireccionesPersonas"
        Server.Transfer(Session("Pagina").ToString)
    End Sub

    Protected Sub gvDireccionesPersonas_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvDireccionesPersonas.PageIndexChanging
        gvDireccionesPersonas.PageIndex = e.NewPageIndex
        CargarGrillaDireccionesPersonas()

    End Sub

    Protected Sub gvDireccionesPersonas_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvDireccionesPersonas.RowDeleting
        Try
            DireccionesDB.EliminarDireccionPersona(ddlTipoDocumento.SelectedValue, txtNroDocumento.Text, Convert.ToInt32(gvDireccionesPersonas.DataKeys(e.RowIndex).Values(0).ToString()))
            CargarGrillaDireccionesPersonas()
        Catch ex As Exception
            Session("Error") = ex.Message.ToString
            Session("Pagina") = "DireccionesPersonas.aspx"
            Server.Transfer("Errores.aspx")
        End Try

    End Sub


    Protected Sub gvDireccionesPersonas_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvDireccionesPersonas.SelectedIndexChanged
        Try
            txtCalle.Text = gvDireccionesPersonas.SelectedRow.Cells(0).Text.ToString
            txtBarrio.Text = gvDireccionesPersonas.SelectedRow.Cells(1).Text.ToString
            ddlLocalidades.SelectedValue = gvDireccionesPersonas.SelectedDataKey.Values(3).ToString()
            ddlTipoDirecciones.SelectedValue = gvDireccionesPersonas.SelectedDataKey.Values(4).ToString()
            btnAgregar.Enabled = True

        Catch ex As Exception
            Session("Error") = ex.Message.ToString
            Session("Pagina") = "DireccionesPersonas.aspx"
            Server.Transfer("Errores.aspx")
        End Try

    End Sub

    Protected Sub btnNueva_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNueva.Click
        Limpiar()
        btnAgregar.Enabled = True
        btnNueva.Enabled = False
    End Sub
End Class
